#include <iostream>
#include <string>
#include <vector>
using namespace std;
//递归边界 cnt1=n  n为0 这里的n记录用0.5买的人
vector <string> v;
int scheme(int n,int cnt1,int cnt2,vector<int> &v)
{
    if(n==0)
        return 1;
    if(cnt1==0)
    {
        cnt1++;
        n--;
        v.push_back(1);
      return   scheme(n,cnt1,cnt2,v);
    }
    else if(cnt1>cnt2)
    {
       //这个时候cnt2可以买 cnt1也可以买

        return scheme(--n,++cnt1,cnt2,v)+scheme(n,cnt1,++cnt2,v);
    } else if(cnt1<=cnt2)
    {
        return scheme(--n,++cnt1,cnt2,v);
    }
}
int main() {
    int n;
    //2n 个人 一半0.5 一半1
    cin>>n;
    int cnt1=0,cnt2=0;
   vector<int>v;
    cout<< scheme(n,cnt1,cnt2,v);
    return 0;
}
